package com.zhangxi.service;

import com.zhangxi.dto.EmployeeDTO;
import com.zhangxi.dto.EmployeeEditPasswordDTO;
import com.zhangxi.dto.EmployeeLoginDTO;
import com.zhangxi.dto.EmployeePageQueryDTO;
import com.zhangxi.entity.Employee;
import com.zhangxi.result.PageResult;

/**
 * @author zhangxi
 * @create 2024-04-17 20:35
 */
public interface EmployeeService {

    /**
     * 员工登录
     * @param employeeLoginDTO
     * @return
     */
    Employee login(EmployeeLoginDTO employeeLoginDTO);

    /**
     * 员工新增
     * @param employeeDTO
     */
    void save(EmployeeDTO employeeDTO);

    /**
     * 员工分页查询
     * @param employeePageQueryDTO
     * @return
     */
    PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO);

    /**
     * 启用或禁用账号
     * @param status
     * @param id
     */
    void startOrStop(Integer status,Long id );

    /**
     * 根据ID查询员工信息
     * @param id
     * @return
     */
    Employee getById(Long id);

    /**
     * 修改员工信息
     * @param employeeDTO
     */
    void  update(EmployeeDTO employeeDTO);

    /**
     * 修改员工密码
     * @param employeeEditPasswordDTO
     */
    void editPassword(EmployeeEditPasswordDTO employeeEditPasswordDTO);

}
